Chrome 137

วันที่เผยแพร่เวอร์ชันเสถียร: 27 พฤษภาคม 2025

การเปลี่ยนแปลงต่อไปนี้มีผลกับรุ่นในเวอร์ชันเสถียรของ Chrome 137 สำหรับ Android, ChromeOS, Linux, macOS และ Windows เว้นแต่จะระบุไว้เป็นอย่างอื่น

CSS และ UI

ฟังก์ชัน if() ของ CSS

ฟังก์ชัน if() ของ CSS เป็นวิธีที่กระชับในการแสดงค่าแบบมีเงื่อนไข โดยจะรับชุดคู่เงื่อนไข-ค่าที่คั่นด้วยเครื่องหมายอัฒภาค ฟังก์ชันจะประเมินแต่ละเงื่อนไขตามลําดับและแสดงค่าที่เชื่อมโยงกับเงื่อนไขแรกที่เป็นจริง หากไม่มีเงื่อนไขใดที่ประเมินเป็น "จริง" ฟังก์ชันจะแสดงผลสตรีมโทเค็นว่าง ซึ่งช่วยให้คุณแสดงตรรกะแบบมีเงื่อนไขที่ซับซ้อนได้ง่ายๆ และกระชับ

ตัวอย่าง

div {
  color: var(--color);
  background-color: if(style(--color: white): black; else: white);
}

.dark {
  --color: black;
}

.light {
  --color: white;
}
<div class="dark">dark</div>
<div class="light">light</div>

การติดตามข้อบกพร่อง #346977961 | รายการ ChromeStatus.com | ข้อมูลจำเพาะ

พร็อพเพอร์ตี้ CSS reading-flow, reading-order

พร็อพเพอร์ตี้ reading-flow CSS จะควบคุมลําดับที่องค์ประกอบในเลย์เอาต์ Flex, ตารางกริด หรือบล็อกจะแสดงในเครื่องมือการช่วยเหลือพิเศษและโฟกัสโดยใช้การไปยังส่วนต่างๆ ด้วยแป้น Tab ของแป้นพิมพ์

พร็อพเพอร์ตี้ CSS reading-order ช่วยให้ผู้เขียนลบล้างลําดับด้วยตนเองได้ภายในคอนเทนเนอร์ขั้นตอนการอ่าน โดยเป็นจํานวนเต็มที่มีค่าเริ่มต้นเป็น 0

ดูข้อมูลเพิ่มเติมเกี่ยวกับพร็อพเพอร์ตี้เหล่านี้ได้ในใช้ลำดับการอ่าน CSS เพื่อการไปยังส่วนต่างๆ ตามลำดับอย่างมีเหตุผล และลองดูตัวอย่าง

การติดตามข้อบกพร่อง #40932006 | รายการ ChromeStatus.com | ข้อมูลจำเพาะ

ละเว้นระยะห่างระหว่างตัวอักษรในสคริปต์ตัวเขียน

ฟีเจอร์นี้จะเพิ่มตรรกะในการละเว้นการตั้งค่าการเว้นวรรคระหว่างตัวอักษรสำหรับสคริปต์ตัวเขียนตามแบบฉบับตามที่นักพัฒนาแอประบุไว้ เพื่อให้เป็นไปตามข้อกำหนด และไม่ให้มีการเว้นวรรคระหว่างตัวอักษรซึ่งจะรบกวนโครงสร้างของคำ และมุ่งสร้างประสบการณ์การใช้งานที่ดียิ่งขึ้นให้แก่ผู้ใช้ที่สคริปต์ตัวเขียนตามแบบฉบับ

ฟีเจอร์นี้ช่วยให้มั่นใจได้ว่าสคริปต์แบบตัวเขียนจะอ่านง่ายและมีระยะห่างที่เหมาะสม แม้ว่าแบบอักษรจะไม่มีฟีเจอร์การพิมพ์ขั้นสูงก็ตาม

สคริปต์ที่มีผลใน Chromium ได้แก่ อาหรับ ฮานิฟิโรฮิงญา แมนดาอิก มองโกเลีย นโก ฟักส์ปา และซีเรียค เนื่องจากสคริปต์เหล่านี้ถือเป็นตัวเขียนตามแบบตามข้อกำหนด

การติดตามข้อบกพร่อง #40618336 | รายการ ChromeStatus.com | ข้อมูลจำเพาะ

Selection API getComposedRanges และ direction

ฟีเจอร์นี้มีเมธอด API ใหม่ 2 รายการสําหรับ Selection API ดังนี้

  • Selection.direction ซึ่งแสดงผลลัพธ์เป็นทิศทางของส่วนที่เลือก ดังนี้ none, forward หรือ backward
  • Selection.getComposedRanges() ซึ่งแสดงผลรายการ 0 หรือ 1 ประกอบ StaticRange

StaticRange ที่คอมโพสอนุญาตให้ข้ามขอบเขตเงาได้ ซึ่งRangeปกติจะทำไม่ได้

เช่น

const range = getSelection().getComposedRanges({ shadowRoots: [root] });

หากการเลือกข้ามขอบเขตรูทเงาที่ไม่ได้ระบุไว้ในรายการ shadowRoots ระบบจะกำหนดขอบเขตใหม่ให้กับปลายทางของ StaticRange ให้อยู่นอกต้นไม้นั้น วิธีนี้ช่วยให้มั่นใจว่า Chrome จะไม่แสดง Shadow Tree ที่ไม่รู้จัก

การติดตามข้อบกพร่อง #40286116 | รายการ ChromeStatus.com | ข้อมูลจำเพาะ

สนับสนุน offset-path: shape()

รองรับ offset-path: shape() เพื่ออนุญาตให้ใช้รูปร่างที่ปรับเปลี่ยนตามพื้นที่โฆษณาเพื่อกำหนดเส้นทางภาพเคลื่อนไหว

การติดตามข้อบกพร่อง #389713717 | รายการ ChromeStatus.com | ข้อมูลจำเพาะ

รองรับแอตทริบิวต์ transform ใน SVGSVGElement

ฟีเจอร์นี้ช่วยให้คุณใช้คุณสมบัติการเปลี่ยนรูปแบบ เช่น การปรับขนาด การหมุน การเปลี่ยนตำแหน่ง และการเอียง กับ<svg>องค์ประกอบรูทได้โดยตรงโดยใช้แอตทริบิวต์ transform การปรับปรุงนี้ช่วยให้คุณจัดการทั้งระบบพิกัด SVG หรือเนื้อหาโดยรวมได้ ซึ่งให้ความยืดหยุ่นมากขึ้นในการสร้างกราฟิกเวกเตอร์แบบไดนามิกที่ปรับเปลี่ยนตามอุปกรณ์และเป็นแบบอินเทอร์แอกทีฟ การรองรับแอตทริบิวต์นี้จะช่วยให้คุณเปลี่ยนรูปแบบองค์ประกอบ <svg> ได้โดยไม่ต้องใช้องค์ประกอบ Wrapper เพิ่มเติมหรือวิธีแก้ปัญหา CSS ที่ซับซ้อน ซึ่งจะช่วยปรับปรุงกระบวนการสร้างกราฟิกเว็บที่ปรับขนาดได้และเคลื่อนไหวได้

การติดตามข้อบกพร่อง #40313130 | รายการ ChromeStatus.com | ข้อมูลจำเพาะ

สีเฉพาะจุดของระบบสำหรับพร็อพเพอร์ตี้ accent-color

ซึ่งจะช่วยให้คุณใช้สีเฉพาะจุดของระบบปฏิบัติการสำหรับองค์ประกอบของแบบฟอร์มได้ เมื่อใช้พร็อพเพอร์ตี้ accent-color CSS คุณจะมั่นใจได้ว่าองค์ประกอบของแบบฟอร์ม เช่น ช่องทําเครื่องหมาย ปุ่มตัวเลือก และแถบความคืบหน้า จะใช้สีไฮไลต์ที่ระบบปฏิบัติการของผู้ใช้กําหนดโดยอัตโนมัติ ฟีเจอร์นี้ใช้ได้ใน macOS ตั้งแต่ปี 2021 และตอนนี้ใช้ได้ใน Windows และ ChromeOS แล้ว

การติดตามข้อบกพร่อง #40764875 | รายการ ChromeStatus.com | ข้อมูลจำเพาะ

อนุญาตให้ <use> อ้างอิงองค์ประกอบรูทของเอกสารภายนอกโดยไม่ใส่ข้อมูลโค้ด

ฟีเจอร์นี้ช่วยเพิ่มประสิทธิภาพองค์ประกอบ <use> ของ SVG ด้วยการผ่อนปรนข้อกำหนดการอ้างอิง ก่อนที่จะมี Chrome 137 คุณต้องอ้างอิงข้อมูลโค้ดอย่างชัดเจนภายในเอกสาร SVG หากไม่ได้ระบุรหัสข้อมูลโค้ด <use> จะไม่สามารถแก้ไขเป้าหมายและระบบจะไม่แสดงผลหรืออ้างอิง

ตัวอย่างเช่น องค์ประกอบ <use> ที่อ้างอิงไฟล์ภายนอกด้วยตัวระบุข้อมูลโค้ด

<svg>
  <use xlink:href="myshape.svg#icon"></use>
</svg>

ในตัวอย่างนี้ #icon คือตัวระบุข้อมูลโค้ดที่ชี้ไปยังองค์ประกอบที่มี id="icon" ภายใน myshape.svg

ในกรณีที่ไม่มีตัวระบุส่วนย่อย

<svg>
  <use xlink:href="myshape.svg"></use>
</svg>

เมื่อใช้ฟีเจอร์นี้ การละเว้นข้อมูลโค้ดหรือเพียงแค่ระบุชื่อไฟล์ svg ภายนอกจะอ้างอิงองค์ประกอบรูทโดยอัตโนมัติ คุณจึงไม่ต้องแก้ไขเอกสารอ้างอิงเพื่อกำหนดรหัสให้กับรูท การปรับปรุงนี้ช่วยลดความซับซ้อนของกระบวนการแก้ไขด้วยตนเองและเพิ่มประสิทธิภาพ

การติดตามข้อบกพร่อง #40362369 | รายการ ChromeStatus.com | ข้อมูลจำเพาะ

ประเภทสีจุดลอยตัวของ Canvas

เปิดตัวความสามารถในการใช้รูปแบบพิกเซลแบบทศนิยม (ไม่ใช่แบบทศนิยม 8 บิต) ด้วย CanvasRenderingContext2D, OffscreenCanvasRenderingContext2D และ ImageData

ซึ่งจำเป็นสำหรับแอปพลิเคชันที่มีความแม่นยำสูง (เช่น ภาพทางการแพทย์) เนื้อหา High Dynamic Range และพื้นที่สีแบบเชิงเส้น

การติดตามข้อบกพร่อง #40245602 | รายการ ChromeStatus.com | ข้อมูลจำเพาะ

view-transition-name: match-element

ค่า match-element จะสร้างรหัสที่ไม่ซ้ำกันตามข้อมูลประจำตัวขององค์ประกอบ และเปลี่ยนชื่อองค์ประกอบนี้ กรณีการใช้งานคือแอปหน้าเดียวที่มีการย้ายองค์ประกอบไปรอบๆ และคุณต้องการทำให้องค์ประกอบดังกล่าวเคลื่อนไหวด้วยการเปลี่ยนมุมมอง

การติดตามข้อบกพร่อง #365997248 | รายการ ChromeStatus.com | ข้อมูลจำเพาะ

การชำระเงิน

ปรับประเภทข้อผิดพลาดที่แสดงขึ้นสําหรับการสร้างข้อมูลเข้าสู่ระบบ WebAuthn ของ payment: SecurityError เปลี่ยนเป็น NotAllowedError

แก้ไขประเภทข้อผิดพลาดที่แสดงขึ้นระหว่างการสร้างข้อมูลเข้าสู่ระบบ WebAuthn สำหรับข้อมูลเข้าสู่ระบบ payment เนื่องจากข้อกำหนดที่ผ่านมาไม่ตรงกัน การสร้างข้อมูลเข้าสู่ระบบ payment ใน iframe ข้ามแหล่งที่มาโดยไม่มีการเปิดใช้งานของผู้ใช้จะแสดง SecurityError แทน NotAllowedError ซึ่งเป็นข้อมูลที่แสดงสำหรับข้อมูลเข้าสู่ระบบที่ไม่ใช่การชำระเงิน

นี่เป็นการเปลี่ยนแปลงที่ส่งผลต่อเวอร์ชันเก่า แม้ว่าจะเป็นการเปลี่ยนแปลงเฉพาะกลุ่มก็ตาม โค้ดที่ก่อนหน้านี้ตรวจพบประเภทข้อผิดพลาดที่แสดง (เช่น e instanceof SecurityError) จะได้รับผลกระทบ โค้ดที่จัดการข้อผิดพลาดโดยทั่วไประหว่างการสร้างข้อมูลเข้าสู่ระบบ (เช่น catch (e)) จะยังคงทำงานอย่างถูกต้องต่อไป

การติดตามข้อบกพร่อง #41484826 | รายการ ChromeStatus.com | ข้อมูลจำเพาะ

Web API

การแบ่งพาร์ติชัน URL ของ BLOB: การดึงข้อมูล/การไปยังส่วนต่างๆ

Chrome ได้ดำเนินการแบ่งพาร์ติชันการเข้าถึง URL ของ BLOB ตามคีย์พื้นที่เก็บข้อมูล (เว็บไซต์ระดับบนสุด ต้นทางเฟรม และบูลีน has-cross-site-ancestor) เพื่อเป็นการสานต่อจากเรื่องการแบ่งพาร์ติชันพื้นที่เก็บข้อมูล ยกเว้นการนําทางระดับบนสุดที่จะยังคงแบ่งพาร์ติชันตามต้นทางเฟรมเท่านั้น ลักษณะการทํางานนี้คล้ายกับที่ทั้ง Firefox และ Safari ใช้งานอยู่ในปัจจุบัน และปรับการใช้งาน URL ของ Blob ให้สอดคล้องกับรูปแบบการแบ่งพาร์ติชันที่ Storage API อื่นๆ ใช้เป็นส่วนหนึ่งของการแบ่งพาร์ติชันพื้นที่เก็บข้อมูล นอกจากนี้ ตอนนี้ Chrome ยังบังคับใช้ noopener ในการนำทางระดับบนสุดที่เริ่มต้นโดยโปรแกรมแสดงผลไปยัง URL ของ BLOB ซึ่งเว็บไซต์ที่เกี่ยวข้องข้ามเว็บไซต์กับเว็บไซต์ระดับบนสุดที่ทำการนําทาง ซึ่งจะช่วยให้ Chrome ทำงานในลักษณะเดียวกับ Safari และเราได้อัปเดตข้อมูลจำเพาะที่เกี่ยวข้องให้สอดคล้องกับการเปลี่ยนแปลงเหล่านี้แล้ว

การติดตามข้อบกพร่อง #40057646 | รายการ ChromeStatus.com

สแต็กการเรียกใช้ในรายงานข้อขัดข้องจากหน้าเว็บที่ไม่ตอบสนอง

ฟีเจอร์นี้จะบันทึกสแต็กการเรียก JavaScript เมื่อหน้าเว็บไม่ตอบสนองเนื่องจากโค้ด JavaScript ทำงานแบบวนซ้ำไปเรื่อยๆ หรือการประมวลผลอื่นๆ ที่ใช้เวลานานมาก ซึ่งจะช่วยให้นักพัฒนาแอประบุสาเหตุของการไม่ตอบสนองและแก้ไขได้ง่ายขึ้น สแต็กการเรียกใช้ JavaScript จะรวมอยู่ใน API การรายงานข้อขัดข้องเมื่อสาเหตุไม่ตอบสนอง

การติดตามข้อบกพร่อง #1445539 | รายการ ChromeStatus.com | ข้อมูลจำเพาะ

Document-Isolation-Policy

Document-Isolation-Policy ช่วยให้เอกสารเปิดใช้ crossOriginIsolation ให้กับตนเองได้โดยไม่ต้องติดตั้งใช้งาน COOP หรือ COEP และไม่คำนึงถึงสถานะ crossOriginIsolation ของหน้า นโยบายนี้ได้รับการสนับสนุนโดยการแยกกระบวนการ นอกจากนี้ ทรัพยากรย่อยข้ามโดเมนที่ไม่ใช่ CORS ของเอกสารจะโหลดโดยไม่มีข้อมูลเข้าสู่ระบบหรือจะต้องมีส่วนหัว CORP

การติดตามข้อบกพร่อง #333029146 | รายการ ChromeStatus.com | ข้อมูลจำเพาะ

Ed25519 ในวิทยาการเข้ารหัสลับบนเว็บ

ฟีเจอร์นี้จะเพิ่มการรองรับอัลกอริทึม Curve25519 ใน Web Cryptography API ซึ่งก็คืออัลกอริทึมลายเซ็น Ed25519

การติดตามข้อบกพร่อง #1370697 | รายการ ChromeStatus.com | ข้อมูลจำเพาะ

การป้องกันการติดตามของ HSTS

ช่วยลดการติดตามผู้ใช้โดยบุคคลที่สามโดยใช้แคช HSTS

ฟีเจอร์นี้อนุญาตเฉพาะการอัปเกรด HSTS สําหรับการนําทางระดับบนสุดและบล็อกการอัปเกรด HSTS สําหรับคําขอทรัพยากรย่อย ซึ่งจะทำให้เว็บไซต์ของบุคคลที่สามใช้แคช HSTS เพื่อติดตามผู้ใช้ในเว็บไม่ได้

การติดตามข้อบกพร่อง #40725781 | รายการ ChromeStatus.com

WebAssembly

การผสานรวมสัญญา JavaScript

การผสานรวมสัญญา JavaScript (JSPI) คือ API ที่ช่วยให้แอปพลิเคชัน WebAssembly ผสานรวมกับสัญญา JavaScript ได้

ซึ่งช่วยให้โปรแกรม WebAssembly ทำหน้าที่เป็นเครื่องมือสร้าง Promise และช่วยให้โปรแกรม WebAssembly โต้ตอบกับ API ที่มี Promise ได้

โดยเฉพาะอย่างยิ่ง เมื่อแอปพลิเคชันใช้ JSPI เพื่อเรียก API (JavaScript) ที่มี Promise ระบบจะระงับโค้ด WebAssembly และผู้ที่เรียกใช้โปรแกรม WebAssembly เดิมจะได้รับ Promise ที่จะสำเร็จเมื่อโปรแกรม WebAssembly เสร็จสมบูรณ์

รายการ ChromeStatus.com | ข้อมูลจำเพาะ

คำแนะนำสำหรับสาขา WebAssembly

ปรับปรุงประสิทธิภาพของโค้ด WebAssembly ที่คอมไพล์แล้วโดยการแจ้งให้เครื่องมือทราบว่าคำสั่งสาขาหนึ่งๆ มีแนวโน้มสูงที่จะใช้เส้นทางหนึ่งๆ

ซึ่งช่วยให้เครื่องมือตัดสินใจได้ดีขึ้นสำหรับเลย์เอาต์โค้ด (ปรับปรุงการตีคู่แคชคำสั่ง) และการจัดสรรรีจิสเตอร์

รายการ ChromeStatus.com | ข้อมูลจำเพาะ

WebGPU

GPUTextureView สำหรับการเชื่อมโยง externalTexture

ตอนนี้คุณใช้ GPUTextureView สำหรับการเชื่อมโยง externalTexture ได้เมื่อสร้าง GPUBindGroup

การติดตามข้อบกพร่อง #398752857 | รายการ ChromeStatus.com | ข้อมูลจำเพาะ

copyBufferToBuffer การทำงานหนักเกินไป

ตอนนี้เมธอด GPUCommandEncoder copyBufferToBuffer() มีวิธีที่ง่ายขึ้นในการคัดลอกบัฟเฟอร์ทั้งรายการโดยใช้การโอเวอร์โหลดแบบใหม่ที่มีพารามิเตอร์ออฟเซตและขนาดที่ไม่บังคับ

รายการ ChromeStatus.com | ข้อมูลจำเพาะ

Enterprise

การบันทึกและการรายงานที่อยู่ IP

Chrome Enterprise กำลังปรับปรุงความสามารถในการตรวจสอบความปลอดภัยและการตอบสนองต่อเหตุการณ์โดยรวบรวมและรายงานที่อยู่ IP ในเครื่องและจากระยะไกล รวมถึงส่งที่อยู่ IP เหล่านั้นไปยังบันทึกการตรวจสอบความปลอดภัย (SIT) นอกจากนี้ Chrome Enterprise จะอนุญาตให้ผู้ดูแลระบบส่งที่อยู่ IP ไปยังผู้ให้บริการ SIEM บุคคลที่หนึ่งและบุคคลที่สามผ่านเครื่องมือเชื่อมต่อการรายงานของ Chrome Enterprise (ไม่บังคับ)

ฟีเจอร์นี้พร้อมให้บริการสำหรับลูกค้า Chrome Enterprise Core

รายการ ChromeStatus.com

ช่วงทดลองใช้จากต้นทาง

แอตทริบิวต์การบล็อกการแสดงผลอัตราเฟรมแบบเต็ม

เพิ่มโทเค็นการบล็อกการแสดงผล full-frame-rate ใหม่ลงในแอตทริบิวต์การบล็อก เมื่อบล็อกโปรแกรมแสดงผลด้วยโทเค็น full-frame-rate โปรแกรมแสดงผลจะทำงานด้วยอัตราเฟรมที่ต่ำลงเพื่อสำรองทรัพยากรเพิ่มเติมสำหรับการโหลด

การติดตามข้อบกพร่อง #397832388 | รายการ ChromeStatus.com

หยุดเล่นสื่อชั่วคราวใน iframe ที่ไม่ได้แสดงผล

เพิ่มนโยบายสิทธิ์ media-playback-while-not-rendered เพื่ออนุญาตให้เว็บไซต์ที่ฝังสามารถหยุดเล่นสื่อของ iframe ที่ฝังไว้ซึ่งไม่ได้แสดงผลชั่วคราว กล่าวคือ มีการตั้งค่าพร็อพเพอร์ตี้ display เป็น none ซึ่งจะช่วยให้นักพัฒนาแอปสร้างประสบการณ์การใช้งานที่เหมาะกับผู้ใช้มากขึ้นและปรับปรุงประสิทธิภาพได้ด้วยการให้เบราว์เซอร์จัดการการเล่นเนื้อหาที่ผู้ใช้มองไม่เห็น

ช่วงทดลองใช้ Origin | การติดตามข้อบกพร่อง #351354996 | รายการ ChromeStatus.com

Rewriter API

Rewriter API จะเปลี่ยนรูปแบบและเรียบเรียงข้อความอินพุตในลักษณะที่ขอ โดยอิงตามโมเดลภาษา AI ในอุปกรณ์ นักพัฒนาแอปอาจใช้ API นี้เพื่อนำข้อความที่ซ้ำกันภายในข้อความออกเพื่อให้พอดีกับจำนวนคำที่จำกัด ปรับข้อความใหม่ให้เหมาะกับกลุ่มเป้าหมายที่ต้องการหรือให้เป็นประโยชน์มากขึ้นหากพบว่าข้อความใช้ภาษาที่ไม่เหมาะสม ปรับข้อความโพสต์หรือบทความใหม่ให้ใช้คำและแนวคิดที่เข้าใจง่ายขึ้น และอื่นๆ

การทดลองใช้เวอร์ชันที่ใช้งานจริง | การติดตามข้อบกพร่อง #358214322 | รายการ ChromeStatus.com | ข้อมูลจำเพาะ

Writer API

Writer API สามารถใช้เขียนเนื้อหาใหม่ตามพรอมต์งานเขียน โดยอิงตามโมเดลภาษา AI ในอุปกรณ์ นักพัฒนาแอปจะใช้ API นี้เพื่อสร้างคำอธิบาย Structured Data เป็นข้อความ เขียนโพสต์เกี่ยวกับผลิตภัณฑ์โดยอิงตามรีวิวหรือคำอธิบายผลิตภัณฑ์ ขยายรายการข้อดีและข้อเสียให้แสดงแบบเต็ม และอื่นๆ ได้

การทดลองใช้เวอร์ชันที่ใช้งานจริง | การติดตามข้อบกพร่อง #357967382 | รายการ ChromeStatus.com | ข้อมูลจำเพาะ